The present invention relates to digital data storage devices, and in particular, to the management of digital data on multiple data storage devices.
The latter half of the twentieth century has been witness to a phenomenon known as the information revolution. While the information revolution is a historical development broader in scope than any one event or machine, no single device has come to represent the information revolution more than the digital electronic computer. The development of computer systems has surely been a revolution. Each year, computer systems grow faster, store more data, and provide more applications to their users.
The extensive data storage needs of modern computer systems require large capacity mass data storage devices. While various data storage technologies are available, the rotating magnetic rigid disk drive has become by far the most ubiquitous. A disk drive data storage device is an extremely complex piece of machinery, containing precision mechanical parts, ultra-smooth disk surfaces, high-density magnetically encoded data, and sophisticated electronics for encoding/decoding data, and controlling drive operation. Each disk drive is therefore a miniature world unto itself, containing multiple systems and subsystem, each one of which is needed from proper drive operation. Furthermore, although each drive communicates with a host computer system or other external entity over a pre-defined, fixed interface, there may be significant differences among the internal operating parameters of multiple disk drives, even though the drives are of the same model from the same manufacturer. These differences typically become greater as the drives age. The situation may be likened to that of an automobile. Every automobile must meet certain common requirements in terms of overall dimensions, weight, operating speed, existence of safety features, etc. But internally, there may be vast differences. Furthermore, even among automobiles of the same manufacturer, year, and model, there can be differences in performance, gas mileage, rate of repair, and many other factors. These differences among individual automobiles tend to become greater as the automobiles become older.
Although there have been enormous increases in the data storage capacity of disk drives in recent years, drive designers are still pressed to keep up with the voracious demands of computer users for data storage. The popularity of the World Wide Web (often known simply as the xe2x80x9cWebxe2x80x9d) has opened a new field of storage demand that was nonexistent only a few years ago. Web server computer systems provide text, graphics, sound and video on demand. Providing text alone for many of the applications on the Web would require massive amounts of data, but this can be dwarfed by the amount of multimedia data needed, such as graphics, sound and video. Such server systems typically require access to very large databases for servicing requests from web users, databases which are often stored on rotating magnetic disk drives.
The sheer volume of data required for supporting a web server may require a considerable number of disk drive storage devices. Given the complexity of these devices, and the fact that the demands of the marketplace require designers to push storage capacity and performance to their limits, it is not surprising they can and do sometimes fail. The use of a large number of data storage devices in a server increases the probability that any single device will fail.
For a commercial enterprise doing business on the Web, its web server is its lifeline. If, for any reason, the web server fails to operate, the business effectively shuts down. Therefore, the reliability of the data storage devices, and the continuous availability of the data on demand, is of critical importance to the business.
Various things may be done and devices employed in order to reduce the risk or effect of data loss and/or data unavailability in a web server or similar large database system. One approach which has gained increased acceptance in recent years is to maintain data on multiple disk drives in a redundant form, using any of several types of disk drive collections commonly referred to as xe2x80x9cRAIDxe2x80x9d (Redundant Arrays of Independent Disks). RAIDs have many varying features and characteristics, but in general, a RAID has the capability to reconstruct data stored on any single disk drive in the event of a failure of that disk drive from the data stored on other disk drives in the RAID. Various types of RAIDs providing different forms of redundancy are described in a paper entitled xe2x80x9cA Case for Redundant Arrays of Inexpensive Disks (RAID), by Patterson, Gibson an Katz, presented at the ACM SIGMOD Conference, June 1998. In addition, many modern RAIDS have the capability to dynamically reconstruct lost data from a defective disk drive while operating, using hot spare drives, large caches, and other features to assure continuous data availability.
While conventional RAID systems provide improved data reliability and availability when compared to non-redundant collections of disk drives, such systems are expensive to build and to operate. One reason for the high expense of conventional RAID systems is that such systems, as well as the disk drives themselves, are designed to meet standards of data reliability and data access appropriate to alphanumeric data. When dealing with the storage and retrieval of alphanumeric data, every bit is potentially of critical importance. For example, the corruption of a single bit in a compiled computer program could cause the program to perform the wrong operation, branch to the wrong location, store data in the wrong location, obtain data from the wrong source, etc. The results would be unpredictable, and potentially disastrous. The corruption of a single bit in accounting data could amount to an error of millions of dollars. Additionally, alphanumeric data is often stored in databases comprising a large number of relatively small individual records. These records are often accessed in a somewhat random pattern, requiring considerable actuator movement to locate the proper track on which the data is stored, and actuator performance is therefore a significant operating characteristic.
The above observations are not generally true of multimedia data. The corruption of a single bit, or even several bits, in a digital photograph, sound recording, or video clip, is likely to go unnoticed, and even if noticed, will not have the potentially severe consequences of the corruption of an alphanumeric bit. Furthermore, multimedia data is typically stored in large files which are read as a whole. In accessing multimedia data, a disk drive will tend to spend less time in seek operations, and more time simply reading the data. Thus, actuator performance is a less significant characteristic when accessing multimedia data than it is in the case of alphanumeric data.
Conventional RAID systems and other storage technology fail to adequately exploit the differences mentioned above. Increased demand for data storage in web servers and similar environments requires further refinements in the art.
In accordance with the present invention, a set of digital data storage devices such as a rotating magnetic disk drives are used to store heterogeneous data, i.e., to store some alphanumeric data, and some multimedia data. The internal operating parameters of the data storage devices are monitored, and data is selectively stored by matching the type of data to the internal operating parameters of the storage devices.
In the preferred embodiment, the set of data storage devices is a RAID system containing multiple rotating magnetic disk drive storage devices. The system monitors the operating temperature, the soft error rate, the head flyheight, and the actuator performance of the drives in the system. Data is generally classified as belonging to one of three types: alphanumeric data, graphics/sound data, and video data. A fuzzy logic function is used to generate a set of fuzzy classification scores evaluating each drive as most appropriate to one type of data or another. A drive is selected for storing a type of data according to the fuzzy classification scores.
In one variation of the preferred embodiment, a separate set of fuzzy classification scores is generated for each disk surface, and each disk surface may independently be allocated to data of different types.
In the preferred embodiment, a disk drive has on-board soft error recovery procedures for recovering data following a soft error, and the capability to selectively disable or limit this feature. If a disk drive is selected for storage of multimedia data, the soft error recovery is disabled, and soft errors are simply transmitted to the host system as data. If each disk surface may be independently allocated to data of different types, soft error recovery may be independently disabled or limited for each disk surface.
In the preferred embodiment, different forms of data redundancy may be selected for different groups of disk drives storage devices depending on the type of data stored thereon. For example, alphanumeric data may be mirrored to improve write performance, while multimedia data is parity protected to conserve resources.
The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which: